home *** CD-ROM | disk | FTP | other *** search
- HelixÖ Producer 9.0 SDK from RealNetworks«
-
- Information in this SDK is subject to change without notice. Companies,
- names, and data used in examples herein are fictitious unless otherwise
- noted. No part of this document may be reproduced or transmitted in any
- form or by any means, electronic or otherwise, for any purpose, without the
- express written permission of RealNetworks, Inc.
-
- This SDK is licensed under the terms of the license agreement found in
- license.txt.
-
- New Features
-
- * Support for file and capture input (8.5x version of the SDK did not
- support this)
- * Job files, audience files, server settings files - support for
- serialization and deserialization of settings files
- * New plug-in architecture for the encoding platform
- * Fault-tolerant, independent outputs - allows uninterrupted live
- archive to file when server connection is lost
- * Multiple server and file destinations
- * Improved multi-processor support for video encoding
- * Any number of custom audiences
- * Customizable duress streams in SureStream file (system no longer
- forces automatic duress streams)
- * New Remote Broadcast System
- * Logging system
- * RealMedia Edit API
- * RealMedia Image Maps and Events support in Edit API
- * Output filter plug-in support
- * Post-encode filter plug-in support
-
- Platform Requirements
-
- This release of the SDK is only supported on the following platforms:
-
- * Windows 98SE, ME, NT 4.0, 2000, XP
- * Linux 2.2 kernel, libc6
-
- To compile the sample applications on Windows, Microsoft Visual C++ 6.0 or
- later is required. To compile the sample applications on Linux, the gcc
- 2.95.2 compiler is required.
-
- Sample Applications
-
- This SDK comes with sample applications located in a subdirectory called
- "samples". These are described below.
-
- encoder
-
- An example encoder application that demonstrates basic encoding. The
- interfaces used in this sample are ideal if you want to encode from an
- existing audio/video file or a/v capture device. This sample also provides
- an example of how to write a log observer.
-
- mediasinkencoder
-
- An example application that uses input pin interfaces to provide raw
- audio/video data to the encoding engine. This is the method of encoding
- that is most similar to the previous SDK. If your application already deals
- with audio/video data directly, you will want to use the SDK in this way.
-
- inputplugin
-
- An example that demonstrates how to build a file reader input plug-in for
- the encoding engine.
-
- To test your plug-in:
-
- 1. Copy the dll you have built, InWAVPlugin.dll (Windows) or
- InWAVPlugin.so.0.1 (Linux) into the bin\tools subdirectory of the SDK
- installation directory
- 2. Temporarily remove the existing WAV reader plug-in (riwv3290.dll on
- Windows, RSInWAVPlugin.so.9.0 on Linux) from the bin\tools directory
- 3. Run an encoding job using a .wav file for input
-
- prefilterplugin
-
- An example that demonstrates how to build a media pre-filter plug-in for
- the encoding engine.
-
- To test your plug-in:
-
- 1. Copy the DLL you built, PrefilterExamplePlugin.dll (Windows) or
- PrefilterExamplePlugin.so.0.1 (Linux), into the \tools subdirectory of
- the Helix Producer installation directory.
- 2. Create a job file using either the Helix Producer GUI application or
- command line application with the -cj switch.
- 3. Open the job file in a text editor and add the following information
- about the sample prefilter under the prefilters tag:
-
- <prefilters>
- <examplePrefilter>
- <enabled type="bool">true</enabled>
- <pluginName type="string">rn-prefilter-example</pluginName>
- </examplePrefilter>
- </prefilters>
-
- 4. Open/run the job from the Helix Producer with logging diagnostics
- turned on. Looking at the log after an enocde, you will see a Video
- Pre-filter Diagnostic message "Prime method called on
- rn-prefilter-example" which shows that the example prefilter is being
- called.
-
-
-
- Troubleshooting
-
- This section describes troubleshooting tips related specifically to the
- SDK. See the application readme.txt for troubleshooting tips related to
- the application or any of its plug-ins such as file reader, capture input
- or output plug-ins.
-
- General
-
- 1. Change If you are compiling the sample application, 'encoder', and you
- get the error "kValuePluginTypePrefilterAudioLimiter is an undefined
- identifier" make the following changes:
-
- Add the following constants:
- static const char kValuePluginNamePrefilterAudioGain[]
- ="rn-prefilter-audiogain"; /* string */
- static const char kValuePluginTypePrefilterAudioGain[]
- ="audioGainPrefilter"; /* string */
-
- And the corrected chunk of code in CEncoderApp::SetupPrefilters() to
- look like:
-
- // Set plugin type
- if (SUCCEEDED(res))
- res =pInitParams->SetString(kPropPluginType,
- kValuePluginTypePrefilterAudioGain);
-
- // Set plugin name. Note that plugin name is typically specified when
- creating prefilters -- this
- // is different than the code to create inputs (plugin name wasn't
- specified then). This is because
- // there were several input readers that the Helix Producer SDK
- selected from, while there is only a single
- // prefilter that matches the black level prefilter plugin type.
- if (SUCCEEDED(res))
- res = pInitParams->SetString(kPropPluginName,
- kValuePluginNamePrefilterAudioGain);
-
- 2. An application using the SDK could get a SIGPIPE signal on Linux in
- case of an error in TCP broadcast to server. (e.g. network error or
- server goes down). An application using the SDK application should
- either handle SIGPIPE signal or ignore it. Refer to the advanced
- encoder sample for a way of ignoring this signal.
-
- Copyright ⌐ 2002 RealNetworks, Inc. Helix, RealAudio, RealNetworks,
- RealPlayer, RealOne Player, RealSystem, RealVideo, and SureStream are
- trademarks or registered trademarks of RealNetworks, Inc. All other
- companies or products listed herein are trademarks or registered trademarks
- of their respective owners. All rights reserved.
-